package core.model;

/**
 * @author andoniibarguchilorenzo
 * clase que contiene la informacion relativa a una empresa (cadena de supermercados)
 */
public class Empresa {

	private String nombre;
	private int codigo_empresa;
	private String codigo_producto;
	private double precio;

	/**
	 * constructor sin parametros
	 */
	public Empresa() {
	}

	/**
	 * constructor con el parametro nombre
	 * @param nombre
	 */
	public Empresa(String nombre) {
		this.nombre = nombre;
	}

	/**
	 * constructor con los parametros nombre y codigo
	 * @param codigo
	 * @param nombre
	 */
	public Empresa(int codigo, String nombre) {
		this.codigo_empresa = codigo;
		this.nombre = nombre;
	}

	/**
	 * constructor con los parametros codigo_empresa, codigo_producto, precio
	 * @param codigo_empresa
	 * @param codigo_producto
	 * @param precio
	 */
	public Empresa(int codigo_empresa, String codigo_producto, double precio) {
		this.setCodigo_empresa(codigo_empresa);
		this.setCodigo_producto(codigo_producto);
		this.setPrecio(precio);
	}


	/**
	 * constructor con los parametros codigo_empresa, precio
	 * @param codigo_empresa
	 * @param precio
	 */
	public Empresa(int codigo_empresa, double precio) {
		this.codigo_empresa = codigo_empresa;
		this.precio = precio;
	}

	/**
	 * devuelve el codigo_empresa
	 * @return codigo_empresa
	 */
	public int getCodigo_empresa() {
		return codigo_empresa;
	}

	/**
	 * modifoca el codigo_empresa
	 * @param codigo_empresa
	 */
	public void setCodigo_empresa(int codigo_empresa) {
		this.codigo_empresa = codigo_empresa;
	}

	/**
	 * devuelve el nombre
	 * @return nombre
	 */
	public String getNombre() {
		return nombre;
	}

	/**
	 * modifica el nombre
	 * @param nombre
	 */
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	/**
	 * devuelve el codigo_producto
	 * @return codigo_producto
	 */
	public String getCodigo_producto() {
		return codigo_producto;
	}

	/**
	 * modifica el codigo_producto
	 * @param codigo_producto
	 */
	public void setCodigo_producto(String codigo_producto) {
		this.codigo_producto = codigo_producto;
	}

	/**
	 * devuelve el precio
	 * @return precio
	 */
	public double getPrecio() {
		return precio;
	}

	/**
	 * modifica el precio
	 * @param precio
	 */
	public void setPrecio(double precio) {
		this.precio = precio;
	}

	/**
	 * metodo que crea y deuelve una empresa con los siguientes parametros, metodo utilizado por la base de datos
	 * @param codigo
	 * @param nombre
	 * @return empresa
	 */
	public static Empresa createEmpresa(int codigo, String nombre) {
		Empresa empresa = new Empresa(codigo, nombre);
		return empresa;
	}

	/**
	 * metodo que crea y deuelve una empresa con los siguientes parametros, metodo utilizado por la base de datos
	 * @param codigo_empresa
	 * @param codigo_producto
	 * @param precio
	 * @return empresa
	 */
	public static Empresa createEmpresa(int codigo_empresa, String codigo_producto, double precio) {
		Empresa empresa = new Empresa (codigo_empresa, codigo_producto, precio);
		return empresa;
	}

	/**
	 * metodo que crea y deuelve una empresa con los siguientes parametros, metodo utilizado por la base de datos
	 * @param codigo_empresa
	 * @param precio
	 * @return empresa
	 */
	public static Empresa createEmpresa(int codigo_empresa, double precio) {
		Empresa empresa = new Empresa (codigo_empresa, precio);
		return empresa;
	}

}
